package com.zdd.demo;

/**
 * @Decription 创建课程工厂
 * @author carl
 */
public class CourceFactory {

//    public ICource create(String name){
//        if("java".equals(name)){
//            return new JavaCource();
//        }else if("python".equals(name)){
//            return new PythonCource();
//        }else {
//            return null;
//        }
//    }

    /**
     * 优化工厂调用
     */
//    public ICource create(String className){
//        try{
//            if(className != null || !"".equals(className)){
//                return (ICource) Class.forName(className).newInstance();
//            }
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//        return null;
//    }

    /**
     * 再次优化
     */
    public ICource create(Class<? extends ICource> clazz){
        try{
            if(null != clazz){
                return clazz.newInstance();
            }
        }catch (Exception e){
            e.printStackTrace();
        }
        return null;
    }
}
